/**  
* @project_name mfq_comm
* @Title: IBaseAuthentificationService.java
* @Package com.yjd.comm.user.authentification
* @Description: TODO
* @author renbangjie renbangjie@126.com  
* @date 2014-10-20 上午9:00:07
* @version V1.0  
* <b>Copyright (c)</b> 2014医信金融信息服务（上海）有限公司-版权所有<br/>
*/
package com.yjd.comm.auth.service;

/**
 * @ClassName: IBaseAuthentificationService
 * @Description: 用户身份认证的基类接口
 * @author renbangjie renbangjie@126.com
 * @date 2014-10-20 上午9:00:07
 */
public interface IAuthentificationService {
	
	/**
	 * 判断是否允许继续认证
	* @param idUser
	* @return boolean
	 * @throws Exception 
	 */
	public boolean asserts(Long idUser) throws Exception;
	
	/**
	 * 是否被占用
	* @param name 姓名
	* @param certNo 身份证号
	* @return boolean
	* @throws Exception
	 */
	public boolean consume(String certNo) throws Exception;
	
	/**
	 * 远程认证和本地认证
	* @param idUser  认证用户
	* @param name  姓名
	* @param certNo 身份证号
	* @return IdentityVerifyModel
	 * @throws Exception 
	*/
	public int authentification(Long idUser, String name, String certNo, boolean bool) throws Exception;
	
	/**
	 * 远程认证和本地认证
	* @param idUser  认证用户
	* @param name  姓名
	* @param certNo 身份证号
	* @return IdentityVerifyModel
	 * @throws Exception 
	*/
	public int authentification(Long idUser, String name, String certNo, boolean bool, int req) throws Exception;
	
	
	/**
	 * 港澳台证件审核
	* @param idUser
	* @return boolean
	 * @throws Exception 
	 */
	public boolean specialAudit(Long idUser, String birthday, Integer gender, Integer auditStatus) throws Exception;
	
}
